package com.kylefu.design.pattern.builder;

/**
 * 建造者（Builder）模式：将一个复杂对象分解成多个相对简单的部分，然后根据不同需要分别创建它们，最后构建成该复杂对象。
 */
public abstract class Builder {

  protected Product product;

  public Product getProduct() {
    return product;
  }

  public void createProduct() {
    this.product = new Product();
  }

  public abstract void buildName();

  public abstract void buildColor();

  public abstract void buildSize();
}
